home *** CD-ROM | disk | FTP | other *** search
- property pSnapState, pSnapsList, pInitialRect, pZoomedRect, pInitialChannel, pIndicatorRect
- global gSelectedSnapshot, gCast
-
- on beginSprite me
- pInitialChannel = sprite(me.spriteNum).locZ
- pInitialRect = sprite(me.spriteNum).rect
- if pSnapState then
- mySnapOn(me)
- end if
- end
-
- on mouseWithin me
- if pSnapState then
- if sprite(me.spriteNum).rect = pInitialRect then
- cursor(302)
- put "Selected snapshot. Click to zoom in. Double right click to clear." into field "status"
- else
- cursor(303)
- put "Selected snapshot. Click to zoom out. Double right click to clear." into field "status"
- end if
- else
- cursor(0)
- put "Click to select snapshot. Double right click to clear." into field "status"
- end if
- end
-
- on mouseLeave me
- put EMPTY into field "status"
- cursor(0)
- end
-
- on mouseUp me
- if pSnapState then
- if sprite(me.spriteNum).rect = pInitialRect then
- sprite(me.spriteNum).locZ = 266
- sprite(me.spriteNum).rect = rect(0, 0, 0, 0) + pZoomedRect
- sprite(265).locV = 191
- sprite(267).rect = rect(121, 157, 189, 225)
- cursor(0)
- else
- sprite(me.spriteNum).locZ = pInitialChannel
- sprite(me.spriteNum).rect = pInitialRect
- sprite(265).locV = -40
- sprite(267).rect = rect(0, 0, 0, 0) + pIndicatorRect
- cursor(0)
- end if
- else
- mySnapOn(me)
- end if
- end
-
- on rightMouseUp me
- if the doubleClick then
- clearSnapshot(me)
- end if
- end
-
- on mySnapOn me
- pSnapState = 1
- gSelectedSnapshot = sprite(me.spriteNum).member
- repeat with i in pSnapsList
- if i <> me.spriteNum then
- sendSprite(sprite(i), #mySnapOff)
- end if
- end repeat
- sprite(267).rect = rect(0, 0, 0, 0) + pIndicatorRect
- end
-
- on mySnapOff me
- pSnapState = 0
- end
-
- on selected me
- repeat with i in pSnapsList
- if sprite(i).pSnapState = 1 then
- return i
- end if
- end repeat
- end
-
- on clearSnapshot me
- if gCast = "32bit" then
- sprite(me.spriteNum).member.image.fill(sprite(me.spriteNum).member.rect, rgb(255, 255, 255))
- else
- sprite(me.spriteNum).member.image.fill(sprite(me.spriteNum).member.rect, paletteIndex(0))
- end if
- updateStage()
- end
-
- on getPropertyDescriptionList me
- list = [:]
- addProp(list, #pSnapState, [#comment: "Initial State", #format: #boolean, #default: 0])
- addProp(list, #pSnapsList, [#comment: "Sprite List", #format: #list, #default: [261, 262, 263, 264]])
- addProp(list, #pZoomedRect, [#comment: "Zoomed Rect", #format: #list, #default: [123, 159, 187, 223]])
- addProp(list, #pIndicatorRect, [#comment: "Indicator Rect", #format: #list, #default: [121, 157, 155, 191]])
- return list
- end
-